package one.stand.service;

import one.stand.entity.TokenEntity;
import one.stand.model.ResultModel;
import one.stand.request.RoyaltyRecordRequest;
import one.stand.request.UserCommonRequest;
import one.stand.request.UserLevelRequest;
import one.stand.request.UserRequest;
import one.stand.response.UserCommonResponse;
import one.stand.response.UserResponse;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @author Administrator
 */
public interface UserService {

    /**
     * 添加用户
     * @param model
     */
    ResultModel addUser(UserRequest model, TokenEntity tokenEntity);

    /**
     * 得到用户列表
     * @return
     */
    ResultModel<UserResponse> getUserList(TokenEntity tokenEntity);

    ResultModel<Integer> addFormId(UserRequest request);

    /**
     * 发送给crm端的员工
     *
     * @param sendUserId 发送人userId
     * @param receiveUserId 接收人userId
     * @param text 聊天消息提示內容
     * @param type 0未读消息提示，1联系方式提示
     * @return
     */
    ResultModel unreadMessage(Integer sendUserId, Integer receiveUserId, String text, Integer type);

    /**
     * 得到用户列表
     * @return
     */
    ResultModel<Map<String, Object>> selectRoyaltyRecord(RoyaltyRecordRequest request);

    /**
     * 提现
     * @return
     */
    ResultModel<Boolean> doCash(RoyaltyRecordRequest request);

    /**
     * 查询用户常用语（3.2版本迭代）
     *
     * @param request
     * @return
     */
    ResultModel<List<UserCommonResponse>> selectUserCommonList(UserCommonRequest request);

    /**
     * 新增/修改用户常用语（3.2版本迭代）
     *
     * @param request
     * @return
     */
    ResultModel<Boolean> insertUserCommonList(UserCommonRequest request);

    /**
     * 删除用户常用语（3.2版本迭代）
     *
     * @param request
     * @return
     */
    ResultModel<Boolean> delUserCommonList(UserCommonRequest request);

    /**
     * 删除用户常用语（3.2版本迭代）
     *
     * @param request
     * @return
     */
    ResultModel<Boolean> moveUserCommon(UserCommonRequest request);
}
